package top.tenebrous.termbor.rpc.proxy.consumer;

import top.tenebrous.termbor.rpc.protocol.RpcProtocol;
import top.tenebrous.termbor.rpc.protocol.message.RpcRequest;
import top.tenebrous.termbor.rpc.proxy.future.RPCFuture;
import top.tenebrous.termbor.rpc.registry.RegistryService;

/**
 * @program: termbor-rpc
 * @description:
 * @author: yazhang6
 * @create: 2024-05-22 17:18
 **/
public interface Consumer {

    /**
     * 消费者发送 request 请求
     *
     * @param protocol
     * @return
     * @throws Exception
     */
    RPCFuture sendRequest(RpcProtocol<RpcRequest> protocol, RegistryService registryService);
}
